The following list illustrates how a call to routine, which has been withdrawn or superseded since Mark 13, may be replaced by a call to a new routine. The list indicates the minimum change necessary, but many of the replacement routines have additional flexibility and users may wish to take advantage of new features. It is strongly recommended that users consult the routine documents. Copies of the documents for withdrawn routines may be obtained from NAG upon request.
C02ADF
Withdrawn at Mark 15
The coefficients are stored in the real array A of dimension(2,N + 1) rather than in the arrays AR and AC, the zeros are returned in the real array Z of dimension (2,N) rather than in the arrays REZ and IMZ, and W is a real work array of dimension (4 * (N + 1)).
C02AEF
Withdrawn at Mark 16
The zeros are returned in the real array Z of dimension (2,N) rather than in the arrays REZ and IMZ, and W is a real work array of dimension (2 * (N+1)).
D02BAF
Withdrawn at Mark 18
THRES, YP and YMAX are real arrays of length N and the length of array W needs extending to length 14*N.
D02BBF
Withdrawn at Mark 18
THRES, YP and YMAX are real arrays of length N and the length of array W needs extending to length 14*N.
D02BDF
Withdrawn at Mark 18
THRES, YP, YMAX and RMSERR are real arrays of length N and W is now a real one-dimensional array of length 32*N.
D02CAF
Withdrawn at Mark 18
D02CJX is a subroutine provided in the NAG Fortran Library and D02CJW is a real function also provided. Both must be declared as EXTERNAL. The array W needs to be 5 elements greater in length.
D02CBF
Withdrawn at Mark 18
D02CJW is a real function provided in the NAG Fortran Library and must be declared as EXTERNAL. The array W needs to be 5 elements greater in length. The integer parameter IRELAB (which can take values 0, 1 or 2) is catered for by the new CHARACTER*1 argument RELABS (whose corresponding values are 'M', 'A' and 'R').
D02CGF
Withdrawn at Mark 18
D02CJX is a subroutine provided in the NAG Fortran Library and should be declared as EXTERNAL. Note the functionality of HMAX is no longer available directly. Checking the value of Y(M)-VAL at intervals of length HMAX can be effected by a user-supplied procedure OUTPUT in place of D02CJX in the call described above. See the routine document for D02CJF for more details.
D02CHF
Withdrawn at Mark 18
D02CJX is a subroutine provided by the NAG Fortran Library and should be declared as EXTERNAL. The functionality of HMAX can be provided as described under the replacement call for D02CGF above. The relationship between the parameters IRELAB and RELABS is described under the replacement call for D02CBF.
D02EAF
Withdrawn at Mark 18
D02EJY and D02EJX are subroutines provided in the NAG Fortran Library and D02EJW is a real function also provided. All must be declared as EXTERNAL.
D02EBF
Withdrawn at Mark 18
D02EJW is a real function provided in the NAG Fortran Library and must be declared as EXTERNAL. The integer parameter IRELAB (which can take values 0, 1 or 2) is catered for by the new CHARACTER*1 argument RELABS (whose corresponding values are 'M', 'A' and 'R'). If MPED = 0 in the call of D02EBF then PEDERV must be the routine D02EJY, which is supplied in the Library and should be declared as EXTERNAL.
D02EGF
Withdrawn at Mark 18
D02EJY and D02EJX are subroutines provided in the NAG Fortran Library and should be declared as EXTERNAL. Note the functionality of HMAX is no longer available directly. Checking the value of Y(M)-VAL at intervals of length HMAX can be effected by a user-supplied procedure OUTPUT in place of D02EJX in the call described above. See the routine document for D02EJF for more details.
D02EHF
Withdrawn at Mark 18
D02EJX is a subroutine provided by the NAG Fortran Library and should be declared as EXTERNAL. The functionality of HMAX can be provided as described under the replacement call for D02EGF above. The relationship between the parameters IRELAB and RELABS is described under the replacement call for D02EBF. If MPED = 0 in the call of D02EHF then PEDERV must be the routine D02EJY, which is supplied in the Library and should be declared as EXTERNAL.
D02PAF
Withdrawn at Mark 18
Existing programs should be modified to call D02PVF and D02PDF. The interfaces are significantly different and therefore precise details of a replacement call cannot be given. Please consult the appropriate routine documents.
D02QAF
Withdrawn at Mark 14
Existing programs should be modified to call D02QWF and D02QFF. The interfaces are significantly different and therefore precise details of a replacement call cannot be given. Please consult the appropriate routine documents.
D02QBF
Withdrawn at Mark 13
Existing programs should be modified to call D02NSF, D02NVF and D02NBF. The interfaces are significantly different and therefore precise details of a replacement call cannot be given. Please consult the appropriate routine documents.
D02QDF
Withdrawn at Mark 17
Existing programs should be modified to call D02NSF, D02NVF and D02NBF, or D02NTF, D02NVF and D02NCF. The interfaces are significantly different and therefore precise details of a replacement call cannot be given. Please consult the appropriate routine documents.
D02QQF
Withdrawn at Mark 17
Not needed except with D02QDF.
D02XAF, D02XBF
Withdrawn at Mark 18
Not needed except with D02PAF. The equivalent routine is D02PXF.
D02XGF, D02XHF
Withdrawn at Mark 14
Not needed except with D02QAF. The equivalent routine is D02QZF.
D02YAF
Withdrawn at Mark 18
There is no precise equivalent to this routine. The closest alternative routine is D02PDF.
D03PAF, D03PBF, D03PGF
Withdrawn at Mark 17
Existing programs should be modified to call D03PCF. The replacement routine is designed to solve a broader class of problems. Therefore it is not possible to give precise details of a replacement call. Please consult the appropriate routine documents.
E01ACF
Withdrawn at Mark 15
where PX, PY and M are INTEGER variables, LAMDA is a real array of dimension (N1 + 4), MU is a real array of dimension (M1 + 4), C is a real array of dimension (N1*M1), WRK is a real array of dimension ((N1 + 6) * (M1 + 6)), A1, B1 and FF are real arrays of dimension (1), and IWRK is an INTEGER array of dimension (M1).
The above new calls duplicate almost exactly the effect of the old call, except that the new routines produce a single interpolated value for each point, rather than the two alternative values VAL and VALL produced by the old routine. By attempting this duplication, however, efficiency is probably being sacrificed. In general it is preferable to evaluate the interpolating function provided by E01DAF at a set of M points, supplied in arrays A1 and B1, rather than at a single point. In this case, A1, B1 and FF must be dimensioned of length M.
Note also that E01ACF uses natural splines, i.e., splines having zero second derivatives at the ends of the ranges. This is likely to be slightly unsatisfactory, and E01DAF does not have this problem. It does mean however that results produced by E01DAF may not be exactly the same as those produced by E01ACF.
E01SEF
Superseded at Mark 18
Scheduled for withdrawal at Mark 20
E01SEF has been superseded by E01SGF which gives improved accuracy, facilities for obtaining gradient values and a consistent interface with E01TGF for interpolation of scattered data in three dimensions.
The interpolant generated by the two routines will not be identical, but similar results may be obtained by using the same values of NW and NQ. Details of the interpolant are passed to the evaluator through the arrays IQ and RQ rather than FNODES and RNW.
E01SFF
Superseded at Mark 18
Scheduled for withdrawal at Mark 20
The two calls will not produce identical results due to differences in the generation routines E01SEF and E01SGF. Details of the interpolant are passed from E01SGF through the arrays IQ and RQ rather than FNODES and RNW.
E01SHF also returns gradient values in QX and QY and allows evaluation at arrays of points rather than just single points.
E02DBF
Withdrawn at Mark 16
where WRK is a real array of dimension (PY - 4), and IWRK is an INTEGER array of dimension (PY - 4).
E04CGF
Withdrawn at Mark 13
E04DBF
Withdrawn at Mark 13
The subroutine providing function and gradient values to E04DGF is OBJFUN: it has a different parameter list to FUNCT, but can be constructed simply as:
The parameters IWORK and WORK are workspace parameters for E04DGF and must have lengths at least (N + 1) and (12*N) respectively. IUSER and USER must be declared as arrays each of length at least (1).
There is no parameter MONIT to E04DGF, but monitoring output may be obtained by calling an option setting routine. Similarly, values for FEST and MAXCAL may be supplied by calling an option setting routine. See the routine document for further information.
E04DEF
Withdrawn at Mark 13
E04DFF
Withdrawn at Mark 13
E04EBF
Withdrawn at Mark 13
E04FDF
Withdrawn at Mark 19
LSFUN appears in the parameter list instead of the fixed-name subroutine LSFUN1 of E04FDF. LSFUN must be declared as EXTERNAL in the calling (sub)program. In addition it has an extra two parameters, IUSER and USER, over and above those of LSFUN1. It may be derived from LSFUN1 as follows:
In general the extra parameters, IUSER and USER, should be declared in the calling program as IUSER(1) and USER(1), but will not need initialising.
E04GCF
Withdrawn at Mark 19
LSFUN appears in the parameter list instead of the fixed-name subroutine LSFUN2 of E04GCF. LSFUN must be declared as EXTERNAL in the calling (sub)program. In addition it has an extra two parameters, IUSER and USER, over and above those of LSFUN2. It may be derived from LSFUN2 as follows:
In general the extra parameters, IUSER and USER, should be declared in the calling program as IUSER(1) and USER(1), but will not need initialising. If however, the array IW was used to pass information through E04GCF into LSFUN2, or get information from LSFUN2, then the array IUSER should be declared appropriately and used for this purpose.
E04GEF
Withdrawn at Mark 19
LSFUN appears in the parameter list instead of the fixed-name subroutine LSFUN2 of E04GEF. LSFUN must be declared as EXTERNAL in the calling (sub)program. In addition it has an extra two parameters, IUSER and USER, over and above those of LSFUN2. It may be derived from LSFUN2 as follows:
In general the extra parameters, IUSER and USER, should be declared in the calling program as IUSER(1) and USER(1), but will not need initialising. If however, the array IW was used to pass information through E04GEF into LSFUN2, or get information from LSFUN2, then the array IUSER should be declared appropriately and used for this purpose.
E04HBF
Withdrawn at Mark 16
Only required in conjunction with E04JBF
E04HFF
Withdrawn at Mark 19
LSFUN and LSHES appear in the parameter list instead of the fixed-name subroutines LSFUN2 and LSHES2 of E04HFF. LSFUN and LSHES must both be declared as EXTERNAL in the calling (sub)program. In addition they have an extra two parameters, IUSER and USER, over and above those of LSFUN2 and LSHES2. They may be derived from LSFUN2 and LSHES2 as follows:
In general, the extra parameters, IUSER and USER, should be declared in the calling program as IUSER(1) and USER(1), but will not need initialising. If however, the array IW was used to pass information through E04HFF into LSFUN2 or LSHES2, or to get information from LSFUN2, then the array IUSER should be declared appropriately and used for this purpose.
E04JAF
Withdrawn at Mark 19
FUNCT appears in the parameter list instead of the fixed-name subroutine FUNCT1 of E04JAF. FUNCT must be declared as EXTERNAL in the calling (sub)program. In addition it has an extra two parameters, IUSER and USER, over and above those of FUNCT1. It may be derived from FUNCT1 as follows:
The extra parameters, IUSER and USER, should be declared in the calling program as IUSER(1) and USER(1), but will not need initialising.
E04JBF
Withdrawn at Mark 16
No comparative calls are given between E04JBF and E04UCF since both routines have considerable flexibility and can be called with many different options. E04UCF allows some values to be passed to it, not through the parameter list, but as "optional parameters", supplied through calls to E04UDF or E04UEF. Names of optional parameters are given here in bold type.
E04UCF is a more powerful routine than E04JBF, in that it allows for general linear and nonlinear constraints, and for some or all of the first derivatives to be supplied; however when replacing E04JBF, only the simple bound constraints are relevant, and only function values are assumed to be available.
Therefore E04UCF must be called with NCLIN = NCNLN = 0, with dummy arrays of size (1) supplied as the arguments A, C and CJAC, and with the name of the auxiliary routine E04UDM (UDME04 in some implementations) as the argument CONFUN. The optional parameter Derivative Level must be set to 0.
The subroutine providing function values to E04UCF is OBJFUN. It has a different parameter list to FUNCT, but can be constructed as follows:
(This assumes that the arrays IW and W are not used to communicate between FUNCT and the calling program; E04UCF supplies the arrays IUSER and USER specifically for this purpose.)
The functions of the parameters BL and BU are similar, but E04UCF has no parameter corresponding to IBOUND; all elements of BL and BU must be set (as when IBOUND = 0 in the call to E04JBF). The optional parameter Infinite bound size must be set to 1.0e+6 if there are any infinite bounds. The function of the parameter ISTATE is similar but the specification is slightly different. The parameters F and G are equivalent to OBJF and OBJGRD of E04UCF. It should also be noted that E04UCF does not allow a user-supplied routine MONIT, but intermediate output is provided by the routine, under the control of the optional parameters Major print level and Minor print level.
Most of the "tuning" parameters in E04JBF have their counterparts as "optional parameters" to E04UCF, as indicated in the following list, but the correspondence is not exact and the specifications must be read carefully.
IPRINT |
Minor print level |
INTYPE |
Cold start/Warm start |
MAXCAL |
Minor iteration limit (note that this counts iterations rather than function calls) |
ETA |
Line search tolerance |
XTOL |
Optimality tolerance (note that this specifies the accuracy in F rather than the accuracy in X) |
STEPMX |
Step limit |
DELTA |
Difference interval |
E04KAF
Withdrawn at Mark 19
FUNCT appears in the parameter list instead of the fixed-name subroutine FUNCT2 of E04KAF. FUNCT must be declared as EXTERNAL in the calling (sub)program. In addition it has an extra two parameters, IUSER and USER, over and above those of FUNCT2. It may be derived from FUNCT2 as follows:
The extra parameters, IUSER and USER, should be declared in the calling program as IUSER(1) and USER(1), but will not need initialising.
E04KBF
Withdrawn at Mark 16
No comparative calls are given between E04KBF and E04UCF since both routines have considerable flexibility and can be called with many different options. Most of the advice given for replacing E04JBF (see above) applies also to E04KBF, and only the differences are given here.
The optional parameter Derivative Level must be set to 1.
The subroutine providing both function and gradient values to E04UCF is OBJFUN. It has a different parameter list to FUNCT, but can be constructed as follows:
E04KCF
Withdrawn at Mark 19
FUNCT appears in the parameter list instead of the fixed-name subroutine FUNCT2 of E04KCF. FUNCT must be declared as EXTERNAL in the calling (sub)program. In addition it has an extra two parameters, IUSER and USER, over and above those of FUNCT2. It may be derived from FUNCT2 as follows:
The extra parameters, IUSER and USER, should be declared in the calling program as IUSER(1) and USER(1), but will not need initialising.
E04LAF
Withdrawn at Mark 19
FUNCT and HESS appear in the parameter list instead of the fixed-name subroutines FUNCT2 and HESS2 of E04LAF. FUNCT and HESS must both be declared as EXTERNAL in the calling (sub)program. In addition they have an extra two parameters, IUSER and USER, over and above those of FUNCT2 and HESS2. They may be derived from FUNCT2 and HESS2 as follows:
In general, the extra parameters, IUSER and USER, should be declared in the calling program as IUSER(1) and USER(1), but will not need initialising.
E04MBF
Withdrawn at Mark 18
The parameter NCTOTL is no longer required. Values for ITMAX, MSGLVL and LINOBJ may be supplied by calling an option setting routine.
E04MFF contains two additional parameters as follows:
The minimum value of the parameter LIWORK must be increased from 2 × N to 2 × N + 3. The minimum value of the parameter LWORK may also need to be changed. See the routine documents for further information.
E04NAF
Withdrawn at Mark 18
The specification of the subroutine QPHESS must also be changed as follows.
The parameters NCTOTL, NCOLH and ORTHOG are no longer required. Values for ITMAX, MSGLVL, BIGBND, FEATOL, COLD and LP may be supplied by calling an option setting routine.
E04NFF contains one additional parameter as follows:
The minimum value of the parameter LIWORK must be increased from 2 × N to 2 × N + 3. The minimum value of the parameter LWORK may also need to be changed. See the routine documents for further information.
E04UAF
Withdrawn at Mark 13
No comparative calls are given between E04UAF and E04UCF since both routines have considerable flexibility and can be called with many different options. However users of E04UAF should have no difficulty in making the transition. Most of the "tuning" parameters in E04UAF have their counterparts as optional parameters to E04UCF, and these may be provided by calling an option setting routine prior to the call to E04UCF. The subroutines providing function and constraint values to E04UCF are OBJFUN and CONFUN respectively: they have different parameter lists to FUNCT1 and CON1, but can be constructed simply as:
The parameters OBJGRD, NEEDC, CJAC, IUSER and USER are the same as those for E04UCF itself. It is important to note that, unlike FUNCT1 and CON1, a call to CONFUN is not preceded by a call to OBJFUN with the same values in X, so that FUNCT1 and CON1 will need to be modified if this property was being utilized. It should also be noted that E04UCF allows general linear constraints to be supplied separately from nonlinear constraints, and indeed this is to be encouraged, but the above call to CON1 assumes that linear constraints are being regarded as nonlinear.
E04UPF
Withdrawn at Mark 19
E04UNF contains one additional parameter as follows:
Note that a call to E04UPF is the same as a call to E04UNF with Y(i) = 0.0, for i = 1,2,...,M.
E04VCF
Withdrawn at Mark 17
The specification of the subroutine OBJFUN must also be changed as follows:
If NCNLN > 0, the specification of the subroutine CONFUN must also be changed as follows:
If NCNLN = 0, then the name of the dummy routine E04VDM (VDME04 in some implementations) may need to be changed to E04UDM (UDME04 in some implementations) in the calling program.
The parameters NCTOTL, EPSAF, FEALIN and ORTHOG are no longer required. Values for ITMAX, MSGLVL, BIGBND, ETA, FTOL, COLD and FEATOL may be supplied by calling an option setting routine.
E04UCF contains two additional parameters as follows:
The minimum value of the parameter LIWORK must be increased from 3 × N + NCLIN + NCNLN to 3 × N + NCLIN + 2 × NCNLN. The minimum value of the parameter LWORK may also need to be changed. See the routine documents for further information.
E04VDF
Withdrawn at Mark 17
The specification of the subroutine OBJFUN must also be changed as follows:
If NCNLN > 0, the specification of the subroutine CONFUN must also be changed as follows:
If NCNLN = 0, then the name of the dummy routine E04VDM (VDME04 in some implementations) may need to be changed to E04UDM (UDME04 in some implementations) in the calling program.
The parameter NCTOTL is no longer required. Values for ITMAX, MSGLVL, CTOL and FTOL may be supplied by calling an option setting routine.
E04UCF contains four additional parameters as follows:
The minimum value of the parameter LIWORK must be increased from 3 × N + NCLIN + NCNLN to 3 × N + NCLIN + 2 × NCNLN. The minimum value of the parameter LWORK may also need to be changed. See the routine documents for further information.
F01AAF
Withdrawn at Mark 17
where IPIV is an INTEGER vector of length N, and the INTEGER LWORK is the length of array WKSPCE, which must be at least max(1,N). In the replacement calls, F07ADF (SGETRF/DGETRF) computes the LU factorization of the matrix A, F06QFF copies the factorization from A to X, and F07AJF (SGETRI/DGETRI) overwrites X by the inverse of A. If the original matrix A is no longer required, the call to F06QFF is not necessary, and references to X and IX in the call of F07AJF (SGETRI/DGETRI) may be replaced by references to A and IA, in which case A will be overwritten by the inverse.
F01ACF
Withdrawn at Mark 16
The number of iterative refinement corrections returned by F01ACF in L is no longer available. The parameter EPS is no longer required.
F01AEF
Withdrawn at Mark 18
IFAIL is set to 1 if the matrix B is not positive-definite. It is essential to test IFAIL.
F01AFF
Withdrawn at Mark 18
F01AGF
Withdrawn at Mark 18
where TAU is a real array of length at least (N-1), WORK is a real array of length at least (1) and LWORK is its actual length.
Note that the tridiagonal matrix computed by F08FEF (SSYTRD/DSYTRD) is different from that computed by F01AGF, but it has the same eigenvalues.
F01AHF
Withdrawn at Mark 18
The following replacement is valid only if the previous call to F01AGF has been replaced by a call to F08FEF (SSYTRD/DSYTRD)
as shown above.
where WORK is a real array of length at least (M2-M1+1), and LWORK is its actual length.
F01AJF
Withdrawn at Mark 18
where TAU is a real array of length at least (N-1), WORK is a real array of length at least (N-1) and LWORK is its actual length.
Note that the tridiagonal matrix T and the orthogonal matrix Q computed by F08FEF (SSYTRD/DSYTRD) and F08FFF (SORGTR/DORGTR) are different from those computed by F01AJF, but they satisfy the same relation QTAQ = T.
F01AKF
Withdrawn at Mark 18
where TAU is a real array of length at least (N-1), WORK is a real array of length at least (N) and LWORK is its actual length.
Note that the Hessenberg matrix computed by F08NEF (SGEHRD/DGEHRD) is different from that computed by F01AKF, because F08NEF (SGEHRD/DGEHRD) uses orthogonal transformations, whereas F01AKF uses stabilized elementary transformations.
F01ALF
Withdrawn at Mark 18
The following replacement is valid only if the previous call to F01AKF has been replaced by a call to F08NEF (SGEHRD/DGEHRD) as indicated above.
where WORK is a real array of length at least (IR) and LWORK is its actual length.
F01AMF
Withdrawn at Mark 18
where A is a complex array of dimension (IA,N), TAU is a complex array of length at least (N-1), WORK is a complex array of length at least (N) and LWORK is its actual length.
Note that the Hessenberg matrix computed by F08NSF (CGEHRD/ZGEHRD) is different from that computed by F01AMF, because F08NSF (CGEHRD/ZGEHRD) uses orthogonal transformations, whereas F01AMF uses stabilized elementary transformations.
F01ANF
Withdrawn at Mark 18
The following replacement is valid only if the previous call to F01AMF has been replaced by a call to F08NSF (CGEHRD/ZGEHRD) as indicated above.
where A is a complex array of dimension (IA,N), TAU is a complex array of length at least (N-1), Z is a complex array of dimension (IZ,IR), WORK is a complex array of length at least (IR) and LWORK is its actual length.
F01APF
Withdrawn at Mark 18
The following replacement is valid only if the previous call to F01AKF has been replaced by a call to F08NEF (SGEHRD/DGEHRD) as indicated above.
where WORK is a real array of length at least (N), and LWORK is its actual length.
Note that the orthogonal matrix formed by F08NFF (SORGHR/DORGHR) is not the same as the non-orthogonal matrix formed by F01APF. See F01AKF above.
F01ATF
Withdrawn at Mark 18
Note that the balanced matrix returned by F08NHF (SGEBAL/DGEBAL) may be different from that returned by F01ATF.
F01AUF
Withdrawn at Mark 18
F01AVF
Withdrawn at Mark 18
where A is a complex array of dimension (IA,N).
Note that the balanced matrix returned by F08NVF (CGEBAL/ZGEBAL) may be different from that returned by F01AVF.
F01AWF
Withdrawn at Mark 18
where Z is a complex array of dimension (IZ,M).
F01AXF
Withdrawn at Mark 18
where WORK is a real array of length at least (3*N).
Note that the details of the Householder matrices returned by F08BEF (SGEQPF/DGEQPF) are different from those returned by F01AXF, but they determine the same orthogonal matrix Q.
F01AYF
Withdrawn at Mark 18
where TAU is a real array of length at least (N-1).
F01AZF
Withdrawn at Mark 18
The following replacement is valid only if the previous call to F01AYF has been replaced by a call to F08GEF (SSPTRD/DSPTRD) as shown above.
where WORK is a real array of length at least (M2-M1+1).
F01BCF
Withdrawn at Mark 18
where A is a complex array of dimension (IA,N), TAU is a complex array of length at least (N-1), WORK is a complex array of length at least (N-1), and LWORK is its actual length.
Note that the tridiagonal matrix T and the unitary matrix Q computed by F08FSF (CHETRD/ZHETRD) and F08FTF (CUNGTR/ZUNGTR) are different from those computed by F01BCF, but they satisfy the same relation QHAQ = T.
F01BDF
Withdrawn at Mark 18
IFAIL is set to 1 if the matrix B is not positive-definite. It is essential to test IFAIL.
F01BEF
Withdrawn at Mark 18
F01BNF
Withdrawn at Mark 17
where, before the call, array A contains the upper triangle of the matrix to be factorized rather than the lower triangle (note that the elements of the upper triangle are the complex conjugates of the elements of the lower triangle). The real array P is no longer required; the upper triangle of A is overwritten by the upper triangular factor U, including the diagonal elements (which are not reciprocated).
F01BPF
Withdrawn at Mark 17
where, before the calls, the upper triangle of the matrix to be inverted must be contained in rows 1 to N of A, rather than the lower triangle being in rows 2 to N + 1 (note that the elements of the upper triangle are the complex conjugates of the elements of the lower triangle). The workspace vector V is no longer required.
F01BQF
Withdrawn at Mark 16
The replacement routines do not have exactly the same functionality as F01BQF; if this functionality is genuinely required, please contact NAG.
-
where the symmetric matrix is known to be positive-definite (if the matrix is in fact not positive-definite, the replacement routine will return a positive value in IFAIL)
-
where the matrix is not positive-definite (the replacement routine forms an LDLT factorization where D is block diagonal, rather than a Cholesky factorization)
For the replacement calls in both (a) and (b), the array RL must now hold the complete lower triangle of the symmetric matrix, including the diagonal elements, which are no longer required to be stored in the redundant array D. The declared dimension of RL must be increased from at least N(N - 1)/2 to at least N(N + 1)/2. It is important to note that for the calls of F07GDF (SPPTRF/DPPTRF) and F07PDF (SSPTRF/DSPTRF), the lower triangle of the matrix must be stored packed by column instead of by row. The dimension parameter IRL is no longer required. For the call of F07PDF (SSPTRF/DSPTRF), the INTEGER array IPIV of length N must be supplied.
F01BTF
Withdrawn at Mark 18
where IPIV is an INTEGER array of length N which holds the indices of the pivot elements, and the array P is no longer required. It may be important to note that after a call of F07ADF (SGETRF/DGETRF), A is overwritten by the upper triangular factor U and the off-diagonal elements of the unit lower triangular factor L, whereas the factorization returned by F01BTF gives U the unit diagonal. The permutation determinant DP returned by F01BTF is not computed by F07ADF (SGETRF/DGETRF). If this value is required, it may be calculated after a call of F07ADF (SGETRF/DGETRF) by code similar to the following:
F01BWF
Withdrawn at Mark 18
where Q is a dummy real array of length (1) (not used in this call), and WORK is a real array of length at least (N).
Note that the tridiagonal matrix computed by F08HEF (SSBTRD/DSBTRD) is different from that computed by F01BWF, but it has the same eigenvalues.
F01BXF
Withdrawn at Mark 17
where, before the call, array A contains the upper triangle of the matrix to be factorized rather than the lower triangle. The array P is no longer required; the upper triangle of A is overwritten by the upper triangular factor U, including the diagonal elements (which are not reciprocated).
F01CAF
Withdrawn at Mark 14
F01CBF
Withdrawn at Mark 14
F01CDF
Withdrawn at Mark 15
F01CEF
Withdrawn at Mark 15
F01CFF
Withdrawn at Mark 14
F01CGF
Withdrawn at Mark 15
F01CHF
Withdrawn at Mark 15
F01CLF
Withdrawn at Mark 16
F01CMF
Withdrawn at Mark 14
F01CNF
Withdrawn at Mark 13
F01CPF
Withdrawn at Mark 13
F01CQF
Withdrawn at Mark 13
F01CSF
Withdrawn at Mark 13
F01DAF
Withdrawn at Mark 13
F01DBF
Withdrawn at Mark 13
(here D2 is a new real variable whose value is not used).
F01DCF
Withdrawn at Mark 13
(here DX is a new complex variable).
F01DDF
Withdrawn at Mark 13
(here DX is a new complex variable).
F01DEF
Withdrawn at Mark 14
F01LBF
Withdrawn at Mark 18
where the size of array A must now have a leading dimension IA of at least 2 × M1 + M2 + 1. The array AL, its associated dimension parameter IL, and the parameter IV are not required for F07BDF (SGBTRF/DGBTRF) because this routine overwrites A by both the L and U factors. The scheme by which the matrix is packed into the array is completely different from that used by F01LBF; the relevant routine document should be consulted for details.
F01LZF
Withdrawn at Mark 15
where TAUQ and TAUP are real arrays of length at least (N) and LWORK is the actual length of WORK1. The parameter WORK2 is no longer required.
F01MAF
Withdrawn at Mark 19
Existing programs should be modified to call F11JAF. The interfaces are significantly different and therefore precise details of a replacement call cannot be given. Please consult the appropriate routine document.
F01NAF
Withdrawn at Mark 17
where the parameter TOL and array SCALE are no longer required. The input matrix must be stored using the same scheme as for F01NAF, except in rows ML + 1 to 2 × ML + MU + 1 of A instead of rows 1 to ML + MU + 1. In F07BRF(CGBTRF/ZGBTRF), the value returned in IN(N) has no significance as an indicator of near-singularity of the matrix.
F01QAF
Withdrawn at Mark 15
where WORK is a real array of length at least (LWORK). The parameters C and NRC are no longer required.
Note that the representation of the matrix Q is not identical, but subsequent calls to routines F08AFF (SORGQR/DORGQR) and F08AGF (SORMQR/DORMQR) may be used to obtain Q explicitly and to transform by Q or QT respectively.
F01QBF
Withdrawn at Mark 15
The call to F06QFF simply copies the leading M by N part of A to C. This may be omitted if it is desired to use the same arrays for A and C. Note that the representation of the orthogonal matrix Q is not identical, but following F01QJF routine F01QKF may be used to form Q.
F01QCF
Withdrawn at Mark 18
where WORK is a real array of length at least (N), and LWORK is its actual length.
The subdiagonal elements of A and the elements of ZETA returned by F08AEF (SGEQRF/DGEQRF) are not the same as those returned by F01QCF. Subsequent calls to F01QDF or F01QEF must also be replaced by calls to F08AGF (SORMQR/DORMQR) or F08AFF (SORGQR/DORGQR) as shown below.
F01QDF
Withdrawn at Mark 18
The following replacement is valid only if the previous call to F01QCF has been replaced by a call to F08AEF (SGEQRF/DGEQRF) as shown above. It also assumes that the 2nd argument of F01QDF (WHERET) is 'S', which is appropriate if the contents of A and ZETA have not been changed after the call of F01QCF.
where LWORK is the actual length of WORK.
F01QEF
Withdrawn at Mark 18
The following replacement is valid only if the previous call to F01QCF has been replaced by a call to F08AEF (SGEQRF/DGEQRF) as shown above. It also assumes that the 1st argument of F01QEF (WHERET) is 'S', which is appropriate if the contents of A and ZETA have not been changed after the call of F01QCF.
where LWORK is the actual length of WORK.
F01QFF
Withdrawn at Mark 18
The following replacement assumes that the 1st argument of F01QFF (PIVOT) is 'C'. There is no direct replacement if PIVOT
= 'S'.
where WORK is a real array of length at least (3*N) (F01QFF only requires WORK to be of length (2*N)).
The subdiagonal elements of A and the elements of ZETA returned by F08BEF (SGEQPF/DGEQPF) are not the same as those returned by F01QFF. Subsequent calls to F01QDF or F01QEF must also be replaced by calls to F08AGF (SORMQR/DORMQR) or F08AFF (SORGQR/DORGQR) as shown above. Note also that the array PERM returned by F08BEF (SGEQPF/DGEQPF) holds details of the interchanges in a different form than that returned by F01QFF.
F01RCF
Withdrawn at Mark 18
where WORK is a complex array of length at least (N), and LWORK is its actual length.
The subdiagonal elements of A and the elements of THETA returned by F08ASF (CGEQRF/ZGEQRF) are not the same as those returned by F01RCF. Subsequent calls to F01RDF or F01REF must also be replaced by calls to F08AUF (CUNMQR/ZUNMQR) or F08ATF (CUNGQR/ZUNGQR) as shown below.
F01RDF
Withdrawn at Mark 18
The following replacement is valid only if the previous call to F01RCF has been replaced by a call to F08ASF (CGEQRF/ZGEQRF) as shown above. It also assumes that the 2nd argument of F01RDF (WHERET) is 'S', which is appropriate if the contents of A and THETA have not been changed after the call of F01RCF.
where LWORK is the actual length of WORK.
F01REF
Withdrawn at Mark 18
The following replacement is valid only if the previous call to F01RCF has been replaced by a call to F08ASF (CGEQRF/ZGEQRF) as shown above. It also assumes that the 1st argument of F01REF (WHERET) is 'S', which is appropriate if the contents of A and THETA have not been changed after the call of F01RCF.
where LWORK is the actual length of WORK.
F01RFF
Withdrawn at Mark 18
The following replacement assumes that the 1st argument of F01RFF (PIVOT) is 'C'. There is no direct replacement if PIVOT = 'S'.
where CWORK is a complex array of length at least (N).
The subdiagonal elements of A and the elements of THETA returned by F08BSF (CGEPQF/ZGEPQF) are not the same as those returned by F01RFF. Subsequent calls to F01RDF or F01REF must also be replaced by calls to F08AUF (CUNMQR/ZUNMQR) or F08ATF (CUNGQR/ZUNGQR) as shown above. Note also that the array PERM returned by F08BSF (CGEPQF/ZGEPQF) holds details of the interchanges in a different form than that returned by F01RFF.
Notes:
- Replacement routines require complex matrices to be stored in complex arrays, whereas most of the corresponding old routines require the real and imaginary parts to be stored separately in two real arrays.
- Replacement routines for computing eigenvectors may scale the eigenvectors in a different manner from the old routines, and hence at first glance the eigenvectors may appear to disagree completely; they may indeed be different, but they are equally acceptable as eigenvectors; some replacement routines may also return the eigenvalues (and the corresponding eigenvectors) in a different order.
- Replacement routines in Chapter F07 and Chapter F08 have a parameter INFO, which has a different specification to the usual NAG error-handling parameter IFAIL. See the F07 Chapter Introduction or F08 Chapter Introduction for details.
F02AAF
Withdrawn at Mark 18
where WORK is a real array of length at least (3*N) and LWORK is its actual length.
F02ABF
Withdrawn at Mark 18
where WORK is a real array of length at least (3*N) and LWORK is its actual length. If F02ABF was called with the same array supplied for V and A, then the call to F06QFF (which copies A to V) may be omitted.
F02ADF
Withdrawn at Mark 18
where WORK is a real array of length at least (3*N) and LWORK is its actual length.
Note that the call to F02FDF will overwrite the upper triangles of the arrays A and B and leave the subdiagonal elements unchanged, whereas the call to F02ADF overwrites the lower triangle and leaves the elements above the diagonal unchanged.
F02AEF
Withdrawn at Mark 18
where WORK is a real array of length at least (3*N) and LWORK is its actual length.
Note that the call to F02FDF will overwrite the upper triangle of the array B and leave the subdiagonal elements unchanged, whereas the call to F02ADF overwrites the lower triangle and leaves the elements above the diagonal unchanged. The call to F06QFF copies A to V, so A is left unchanged. If F02AEF was called with the same array supplied for V and A, then the call to F06QFF may be omitted.
F02AFF
Withdrawn at Mark 18
where VR and VI are dummy arrays of length (1) (not used in this call), WORK is a real array of length at least (4*N) and LWORK is its actual length; the iteration counts (returned by F02AFF in the array INTGER) are not available from F02EBF.
F02AGF
Withdrawn at Mark 18
where WORK is a real array of length at least (4*N) and LWORK is its actual length; the iteration counts (returned by F02AGF in the array INTGER) are not available from F02EBF.
F02AJF
Withdrawn at Mark 18
where A is a complex array of dimension (IA,N), R is a complex array of dimension (N), V is a dummy complex array of length (1) (not used in this call), RWORK is a real array of length at least (2*N), WORK is a complex array of length at least (2*N) and LWORK is its actual length.
F02AKF
Withdrawn at Mark 18
where A is a complex array of dimension (IA,N), R is a complex array of length (N), V is a complex array of dimension (IV,N), RWORK is a real array of length at least (2*N), WORK is a complex array of length at least (2*N) and LWORK is its actual length.
F02AMF
Withdrawn at Mark 18
where WORK is a real array of length at least (2*(N-1)).
F02ANF
Withdrawn at Mark 18
where H is a complex array of dimension (IH,N), R is a complex array of length (N), Z is a dummy complex array of length (1) (not used in this call), and WORK is a complex array of length at least (N).
F02APF
Withdrawn at Mark 18
where Z is a dummy real array of length (1) (not used in this call), and WORK is a real array of length at least (N); the iteration counts (returned by F02APF in the array ICNT) are not available from F08PEF (SHSEQR/DHSEQR).
F02AQF
Withdrawn at Mark 18
where SELECT is a dummy logical array of length (1) (not used in this call), and WORK is a real array of length at least (N); the iteration counts (returned by F02AQF in the array INTGER) are not available from F08PEF (SHSEQR/DHSEQR); M is an integer which is set to N by F08QKF (STREVC/DTREVC).
F02ARF
Withdrawn at Mark 18
where H is a complex array of dimension (IH,N), R is a complex array of length (N), V is a complex array of dimension (IV,N), WORK is a complex array of length at least (2*N) and RWORK is a real array of length at least (N); M is an integer which is set to N by F08QXF (CTREVC/ZTREVC).
If F02ARF was preceded by a call to F01AMF to reduce a full complex matrix to Hessenberg form, then the call to F01AMF must also be replaced by calls to F08NSF (CGEHRD/ZGEHRD) and F08NTF (CUNGHR/ZUNGHR).
F02AVF
Withdrawn at Mark 18
F02AWF
Withdrawn at Mark 18
where A is a complex array of dimension (IA,N), RWORK is a real array of length at least (3*N), WORK is a complex array of length at least (2*N) and LWORK is its actual length.
F02AXF
Withdrawn at Mark 18
where A is a complex array of dimension (IA,N), V is a complex array of dimension (IV,N), RWORK is a real array of length at least (3*N), WORK is a complex array of length at least (2*N) and LWORK is its actual length. If F02AXF was called with the same arrays supplied for VR and AR and for VI and AI, then the call to F06TFF (which copies A to V) may be omitted.
F02AYF
Withdrawn at Mark 18
where V is a complex array of dimension (IV,N), and WORK is a real array of length at least (2*(N-1)).
F02BBF
Withdrawn at Mark 19
where R must have dimension (N), WORK is a real array of length at least (8*N), LWORK is its actual length, and IWORK is an integer array of length at least (5*N). Note that in the call to F02BBF R needs only to be of dimension (M).
F02BCF
Withdrawn at Mark 19
where WORK is a real array of length at least (N*(N+4)) and LWORK is its actual length.
F02BDF
Withdrawn at Mark 19
where A is a complex array of dimension (IA,N), R is a complex array of dimension (N), V is a complex array of dimension (IV,M), WORK is a complex array of length at least (N*(N+2)), LWORK is its actual length, and RWORK is a real array of length at least (2*N).
F02BEF
Withdrawn at Mark 18
where NSPLIT is an integer variable, IBLOCK, ISPLIT and IFAILV are integer arrays of length at least (N), and IWORK is an integer array of length at least (3*N).
F02BFF
Withdrawn at Mark 18
where M and NSPLIT are integer variables, IBLOCK and ISPLIT are integer arrays of length at least (N), WORK is a real array of length at least (4*N), and IWORK is an integer array of length at least (3*N).
F02BKF
Withdrawn at Mark 18
where M2 is an integer variable, and IFAILR is an integer array of length at least (N).
Note that the array C may be modified by F08PKF (SHSEIN/DHSEIN) if there are complex conjugate pairs of eigenvalues.
F02BLF
Withdrawn at Mark 18
where H is a complex array of dimension (IH,N), R is a complex array of length (N), V is a complex array of dimension (IV,M), M2 is an integer variable, WORK is a complex array of length at least (N*N), RWORK is a real array of length at least (N), and IFAILR is an integer array of length at least (N).
F02SWF
Withdrawn at Mark 18
The following replacement ignores the triangular structure of A, and therefore references the subdiagonal elements of A; however on many machines the replacement code will be more efficient.
where TAUQ, TAUP and WORK are real arrays of length at least (N), and LWORK is the actual length of WORK.
F02SXF
Withdrawn at Mark 18
The following replacement is valid only if the previous call to F02SWF has been replaced by a call to F08KEF as shown above.
F02SYF
Withdrawn at Mark 18
where WORK is a real array of length at least (4*(N-1)) unless NCOLB = NROWY = NCOLZ = 0.
F02SZF
Withdrawn at Mark 15
WORK must be a one-dimensional real array of length at least lwork given by:
The parameters WORK1, WORK2 and WORK3 are no longer required.
F02UWF
Withdrawn at Mark 18
The following replacement ignores the triangular structure of A, and therefore references the subdiagonal elements of A; however on many machines the replacement code will be more efficient.
where TAUQ and TAUP are complex arrays of length at least (N), and LWORK is the actual length of WORK.
F02UXF
Withdrawn at Mark 18
The following replacement is valid only if the previous call to F02UWF has been replaced by a call to F08KSF (CGEBRD/ZGEBRD) as shown above.
where LWORK is the actual length of CWORK.
F02UYF
Withdrawn at Mark 18
where WORK is a real array of length at least (4 * (N-1)) unless NCOLB = NROWY = NCOLZ = 0.
F02WAF
Withdrawn at Mark 16
RWORK must be a one-dimensional real array of length at least lwork given by:
If, in the call to F02WAF, LWORK satisfies these conditions then F02WEF may be called with RWORK as WORK.
F02WBF
Withdrawn at Mark 14
RWORK must be a one-dimensional real array of length at least lwork given by:
In the cases where WANTB is false F02WEF may be called with RWORK as WORK, but when WANTB is true the user should check that, in the call to F02WBF, LWORK satisfies the above conditions before replacing RWORK with WORK.
F02WCF
Withdrawn at Mark 14
RWORK must be a one-dimensional real array of length at least lwork given by:
If, in the call to F02WCF, LWORK satisfies these conditions then F02WEF may be called with RWORK as WORK.
F03AGF
Withdrawn at Mark 17
where the array RL and its associated dimension parameter IL, and the parameters M1, D1 and ID are no longer required. In F07HDF (SPBTRF/DPBTRF), the array A holds the matrix packed using a different scheme to that used by F03AGF; see the routine document for details. F07HDF (SPBTRF/DPBTRF) overwrites A with the Cholesky factor L (without reciprocating diagonal elements) rather than returning L in the array RL. F07HDF (SPBTRF/DPBTRF) does not compute the determinant of the input matrix, returned as D1 × 2.0ID by F03AGF. If this is required, it may be calculated after the call of F07HDF (SPBTRF/DPBTRF) by code similar to the following. The code computes the determinant by multiplying the diagonal elements of the factor L, taking care to avoid possible overflow or underflow.
F03AHF
Withdrawn at Mark 17
where IPIV is an INTEGER array of length N which holds the indices of the pivot elements, and the array RINT is no longer required. It may be important to note that after a call of F07ARF (CGETRF/ZGETRF), A is overwritten by the upper triangular factor U and the off-diagonal elements of the unit lower triangular factor L, whereas the factorization returned by F03AHF gives U the unit diagonal. F07ARF (CGETRF/ZGETRF) does not compute the determinant of the input matrix, returned as cmplx(DETR,DETI) × 2.0ID by F03AHF. If this is required, it may be calculated after a call of F07ARF (CGETRF/ZGETRF) by code similar to the following, where DET is a complex variable. The code computes the determinant by multiplying the diagonal elements of the factor U, taking care to avoid possible overflow or underflow.
F03AMF
Withdrawn at Mark 17
F03AMF computes the determinant of a Hermitian positive-definite matrix after factorization by F01BNF, and has no replacement routine. F01BNF has been superseded by F07FRF (CPOTRF/ZPOTRF). To compute the determinant of such a matrix, in the same form as that returned by F03AMF, code similar to the above may be used. The code computes the determinant by multiplying the (real) diagonal elements of the factor U, taking care to avoid possible overflow or underflow.
Note that before the call of F07FRF (CPOTRF/ZPOTRF), array A contains the upper triangle of the matrix rather than the lower triangle.
F04AKF
Withdrawn at Mark 17
It is assumed that the matrix has been factorized by a call of F07ARF (CGETRF/ZGETRF) rather than F03AHF; see the F03 Chapter Introduction for details. IPIV is an INTEGER array of length N, as returned by F07ARF (CGETRF/ZGETRF), and the array P is no longer required. INFO is an INTEGER diagnostic parameter; see the F07ASF (CGETRS/ZGETRS) routine document for details.
F04ALF
Withdrawn at Mark 17
It is assumed that the matrix has been factorized by a call of F07HDF (SPBTRF/DPBTRF) rather than F03AGF; see the F03 Chapter Introduction for details. A is the factorized matrix as returned by F07HDF (SPBTRF/DPBTRF). The array RL, its associated dimension parameter IRL, and the parameter M1 are no longer required. INFO is an INTEGER diagnostic parameter; see the F07HEF (SPBTRS/DPBTRS) routine document for details. If the original right-hand side matrix B is no longer required, the call to F06QFF is not necessary, and references to X and IX in the call of F07HEF (SPBTRS/DPBTRS) may be replaced by references to B and IB, in which case B will be overwritten by the solution.
F04ANF
Withdrawn at Mark 18
where Y must be the same real array as was used as the 7th argument in the previous call of F01AXF.
This replacement is valid only if the previous call to F01AXF has been replaced by a call to F08BEF (SGEQPF/DGEQPF) as shown above.
F04AQF
Withdrawn at Mark 16
may be replaced by calls to F06EFF (SCOPY/DCOPY), and F07GEF (SPPTRS/DPPTRS) or F07PEF (SSPTRS/DSPTRS), depending on whether the symmetric matrix has previously been factorized by F07GDF (SPPTRF/DPPTRF) or F07PDF (SSPTRF/DSPTRF) (see the description above of how to replace calls to F01BQF).
-
where the symmetric matrix has been factorized by F07GDF (SPPTRF/DPPTRF)
-
where the symmetric matrix has been factorized by F07PDF (SSPTRF/DSPTRF)
In both (a) and (b), the array RL must be as returned by the relevant factorization routine. The INTEGER parameter INFO is a diagnostic parameter. The INTEGER array IPIV in (b) must be as returned by F07PDF (SSPTRF/DSPTRF). The dimension parameter M, and the array D, are no longer required. If the right-hand-side array B is not needed after solution of the equations, the call to F06EFF (SCOPY/DCOPY), which simply copies array B to X, is not necessary. References to X in the calls of F07GEF (SPPTRS/DPPTRS) and F07PEF (SSPTRS/DSPTRS) may then be replaced by references to B, in which case B will be overwritten by the solution vector.
F04AWF
Withdrawn at Mark 17
It is assumed that the matrix has been factorized by a call of F07FRF (CPOTRF/ZPOTRF) rather than F01BNF; see the F01 Chapter Introduction for details. A is the factorized matrix as returned by F07FRF (CPOTRF/ZPOTRF). The array P is no longer required. INFO is an INTEGER diagnostic parameter; see the F07FSF (CPOTRS/ZPOTRS) routine document for details. If the original right-hand side array B is no longer required, the call to is not necessary, and references to X and IX in the call of F07FSF (CPOTRS/ZPOTRS) may be replaced by references to B and IB, in which case B will be overwritten by the solution.
F04AYF
Withdrawn at Mark 18
It is assumed that the matrix has been factorized by a call of F07ADF (SGETRF/DGETRF) rather than F01BTF. IPIV is an INTEGER array of length N, and the array P is no longer required.
F04AZF
Withdrawn at Mark 17
It is assumed that the matrix has been factorized by a call of F07FDF (SPOTRF/DPOTRF) rather than F01BXF. The array P is no longer required.
F04LDF
Withdrawn at Mark 18
It is assumed that the matrix has been factorized by a call of F07BDF (SGBTRF/DGBTRF) rather than F01LBF. The array AL and its associated dimension parameter IL are no longer required.
F04MAF
Withdrawn at Mark 19
Existing programs should be modified to call F11JCF. The interfaces are significantly different and therefore precise details of a replacement call cannot be given. Please consult the appropriate routine document.
F04MBF
Withdrawn at Mark 19
If a user-defined preconditioner is required existing programs should be modified to call F11GAF, F11GBF and F11GCF. Otherwise F11JCF or F11JEF may be used. The interfaces for these routines are significantly different from that for F04MBF and therefore precise details of a replacement call cannot be given. Please consult the appropriate routine document.
F04NAF
Withdrawn at Mark 17
It is assumed that the matrix has been factorized by a call of F07BRF (CGBTRF/ZGBTRF) rather than F01NAF. The replacement routines do not have the functionality to perturb diagonal elements of the triangular factor U, as specified by a negative value of JOB in F04NAF. The parameter TOL is therefore no longer useful. If this functionality is genuinely required, please contact NAG.
F05ABF
Withdrawn at Mark 14
F06QGF
Withdrawn at Mark 16
C must be declared as CHARACTER*1, WORK1 as a real array of dimension (1) and WORK2 as a real array of dimension (N).
F06VGF
Withdrawn at Mark 16
C must be declared as CHARACTER*1, WORK1 as a real array of dimension (1) and WORK2 as a real array of dimension (N).
F11BAF
Superseded at Mark 19
Scheduled for withdrawal at Mark 21
F11BDF contains two additional parameters as follows:
See the routine document for further information.
F11BBF
Superseded at Mark 19
Scheduled for withdrawal at Mark 21
WGT must be a one-dimensional real array of length at least n (the order of the matrix) if weights are to be used in the termination criterion, and 1 otherwise. Note that the call to F11BEF requires the weights to be supplied in WGT(1:n) rather than WORK(1:n). The minimum value of the parameter LWORK may also need to be changed.
F11BCF
Superseded at Mark 19
Scheduled for withdrawal at Mark 21
F11BFF contains two additional parameters as follows:
See the routine document for further information.
G01BAF
Withdrawn at Mark 16
G01BBF
Withdrawn at Mark 16
G01BCF
Withdrawn at Mark 16
G01BDF
Withdrawn at Mark 16
where TOL is set to the accuracy required by the user and Q and PDF are additional output quantities.
Note. The values of A and B must be <= 106.
G01CAF
Withdrawn at Mark 16
G01CBF
Withdrawn at Mark 16
G01CCF
Withdrawn at Mark 16
G01CDF
Withdrawn at Mark 16
where TOL is set to the accuracy required by the user.
Note. The values of A and B must be <= 106.
G01CEF
Withdrawn at Mark 18
G02CJF
Withdrawn at Mark 16
For unweighted regression, as is used here, WT may be any real array and will not be referenced, e.g., SIGSQ could be used.
The array C no longer contains (XTX)-1; however, (XTX)-1 scaled by hat sigma2 is returned in packed form in array COV. The upper triangular part of C will now contain a factorization of XTX.
The real arrays SE(M), COV(M*(M + 1)/2), RES(N), H(N), P(M*(M + 2)), the logical variable SVD and the INTEGER variable IRANK are additional outputs. There is also a single real workspace WK(5*M - 1) + M * M).
G04ADF
Withdrawn at Mark 17
The arrays AMR, AMC and AMT contain the means of the rows, columns and treatments rather than the totals. The values equivalent to those returned in the array VAR of G04ADF are returned in the second column of the two-dimensional array TABLE starting at the second row, e.g., VAR(1) = TABLE(2,2). The two dimensional integer array LCODE (containing the treatment codes) has been replaced by the one-dimensional array IT. These arrays will be the equivalent if IA
= N. The following additional declarations are required.
where NMAX is an integer such that NMAX >= N.
G04AEF
Withdrawn at Mark 17
The values equivalent to those returned by G04AEF in the arrays IDF and SS are returned in the first and second columns of TABLE starting at row 2 and the values equivalent to those returned in the scalars F and FP are returned in TABLE(2,4) and TABLE(2,5) respectively. NOBS is output from G04BBF rather than input. The groups are indicated by the array IT. The following code illustrates how IT can be computed from NOBS.
The following additional declarations are required.
NMAX and KMAX are integers such that NMAX >= N and KMAX >= K.
G04AFF
Withdrawn at Mark 17
Where Y1 is a one-dimensional array containing the observations in the same order as Y, if IY1 = M and IY2 = NR then these are equivalent. LFAC is an integer array such that LFAC(1) = NC and LFAC(2) = NR. The following indicates how the results equivalent to those produced by G04AFF can be extracted from the results produced by G04CAF.
Note how rows and columns have swapped.
The following additional declarations are required.
NMAX and MAXT are integers such that NMAX >= M × NR × NC and MAXT >= NR + NC + NR × NC.
G05DGF
Withdrawn at Mark 16
where X must now be declared as an array of length at least 1.
G05DLF
Withdrawn at Mark 16
where X must now be declared as an array of length at least 1.
G05DMF
Withdrawn at Mark 16
where X must now be declared as an array of length at least 1. If the value of X(1) returned by G05FEF is 1.0, appropriate action should be taken. Alternatively the ratio of gamma variates can be used i.e.,
where Y must be declared as an array of length at least 1.
G08ABF
Withdrawn at Mark 16
W1 is a real work array of dimension (3*N). The real array W2 is no longer required. WNOR returns the normalized Wilcoxon test statistic. The real array Z, of dimension (N), contains the difference between the paired sample observations, and by setting the real variable XME to zero the routine may be used to test whether the medians of the two matched or paired samples are equal.
G08ADF
Withdrawn at Mark 16
The observations from the two independent samples must be stored in two separate real arrays, of dimensions N1 and N2, where N2 = N - N1, rather than consecutively in one array as in G08ADF.
UNOR returns the normalized Mann--Whitney U statistic. The LOGICAL parameter TIES indicates whether ties were present in the pooled sample or not and RANKS, a real array of dimension (N1 + N2), returns the ranks of the pooled sample.
Both G08ADF and its replacement routine G08AHF return approximate tail probabilities for the test statistic. To compute exact tail probabilities G08AJF may be used if there are no ties in the pooled sample and G08AKF may be used if there are ties in the pooled sample.
G08CAF
Withdrawn at Mark 16
The following table indicates how existing choices for the null distribution, indicated through the INTEGER variable NULL in G08CAF, may be made in G08CBF using the character variable DIST.
null distribution |
G08CAF - NULL |
G08CBF - DIST |
uniform |
1 |
'U' |
Normal |
2 |
'N' |
Poisson |
3 |
'P' |
exponential |
4 |
'E' |
PAR is a real array of dimension (1) for both the one and two parameter distributions, but only the first element of PAR is actually referenced (used) if the chosen null distribution has only one parameter. The input parameter NP is no longer required.
On exit S contains the sample observations sorted into ascending order. It no longer contains the sample cumulative distribution function but this may be computed from S.
G13DAF
Withdrawn at Mark 17
Note that in G13DAF the NS series are stored in the columns of X whereas in G13DMF these series are stored in rows; hence it is necessary to transpose the data array.
The real array WMEAN must be of length NS, and on output stores the means of each of the NS series.
The diagonal elements of C0 store the variances of the series if covariances are requested, but the standard deviations if correlations are requested.
H02BAF
Withdrawn at Mark 15
The code indicates the minimum changes necessary, but H02BBF has additional flexibility and users may wish to take advantage of new features. It is strongly recommended that users consult the routine document.
M01AAF
Withdrawn at Mark 13
The array IST is no longer needed.
M01ABF
Withdrawn at Mark 13
The array IST is no longer needed.
M01ACF
Withdrawn at Mark 13
The array IST is no longer needed.
M01ADF
Withdrawn at Mark 13
The array IST is no longer needed.
M01AEF
Withdrawn at Mark 13
The real arrays T and TT are no longer needed, but a new integer array IRANK of length NR is required.
M01AFF
Withdrawn at Mark 13
The real arrays T and TT are no longer needed, but a new integer array IRANK of length NR is required.
M01AGF
Withdrawn at Mark 13
The integer arrays K and L are no longer needed, but a new integer array IRANK of length NR is required.
M01AHF
Withdrawn at Mark 13
The integer arrays K and L are no longer needed, but a new integer array IRANK of length NR is required.
M01AJF
Withdrawn at Mark 16
The arrays W and INDW are no longer needed.
M01AKF
Withdrawn at Mark 16
The arrays W and INDW are no longer needed.
M01ALF
Withdrawn at Mark 13
The arrays IW and INDW are no longer needed.
M01AMF
Withdrawn at Mark 13
The arrays IW and INDW are no longer needed.
M01ANF
Withdrawn at Mark 13
M01APF
Withdrawn at Mark 16
M01AQF
Withdrawn at Mark 13
M01ARF
Withdrawn at Mark 13
The character-sorting routines M01BAF, M01BBF, M01BCF and M01BDF have no exact replacements, because they require the data to be stored in an integer array, whereas the new character-sorting routines require the data to be stored in a character array. The following advice assumes that calling programs are modified so that the data is stored in a character array CH instead of in an integer array IA; nchar denotes the machine-dependent number of characters stored in an integer variable. The new routines sort according to the ASCII collating sequence, which may differ from the machine-dependent collating sequence used by the old routines.
M01BAF
Withdrawn at Mark 13
assuming that each element of the character array CH corresponds to one element of the integer array IA.
M01BBF
Withdrawn at Mark 13
assuming that each element of the character array CH corresponds to one element of the integer array IA.
M01BCF
Withdrawn at Mark 13
provided that each element of the character array CH corresponds to a whole column of the integer array IA. The arrays IT and ITT are no longer needed. The call of M01CCF will fail if NR*nchar exceeds 255.
M01BDF
Withdrawn at Mark 13
provided that each element of the character array CH corresponds to a whole column of the integer array IA. The arrays IT and ITT are no longer needed. The call of M01CCF will fail if NR*nchar exceeds 255.
P01AAF
Withdrawn at Mark 13
Existing programs should be modified to call P01ABF. Please consult the appropriate routine document.
X02AAF
Withdrawn at Mark 16
X02ABF
Withdrawn at Mark 16
X02ACF
Withdrawn at Mark 16
X02ADF
Withdrawn at Mark 14
X02AEF*
Withdrawn at Mark 14
X02AFF*
Withdrawn at Mark 14
X02AGF*
Withdrawn at Mark 16
X02BAF
Withdrawn at Mark 14
X02BCF*
Withdrawn at Mark 14
X02BDF*
Withdrawn at Mark 14
X02CAF
Withdrawn at Mark 17
This routine is no longer required.
Note. In the case of the routines marked with an asterisk (*), the replacement expressions may not return the same value, but the value will be sufficiently close, and safe, for the purposes for which it is used in the Library.
© The Numerical Algorithms Group Ltd, Oxford UK. 1999